<?
/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Horario_exe( $this );
		
	class Horario_exe extends Exe
	{
		function Horario_exe( &$oModule )
			{
				$this->Exe( $oModule );
			}
		function update()
			{
				// Convierte a variables los datos del Formulario asociado a la accion
				$oForm = $this->oModule->loadClass( 'Horario_frm' );
				extract( $oForm->getFieldArray() );
				// Modifica el Registro Horario
					$this->oDatabase->update("atPersonalHorario",
									"nEntrada", $nEntrada,
									"ncMotivoEntrada", $ncMotivoEntrada,
									"nEntradaDeclarada", $nEntradaDeclarada,
									"nSalida", $nSalida,
									"ncMotivoSalida", $ncMotivoSalida,
									"nSalidaDeclarada", $nSalidaDeclarada,
									"cObservaciones", $cObservaciones,
									"WHERE",
									"ncPersona", $ncPersona, 
									"dIngreso", $dIngreso );
			}
		function insert()
			{
				// Convierte a variables los datos del Formulario asociado a la accion
				$oForm = $this->oModule->loadClass( 'Horario_frm' );
				extract( $oForm->getFieldArray() );
				$cTipo = ( $nTipo == 1 ) ? 'Entrada' : 'Salida';
				//Verifica si ya hay un registro
				$nqExiste = $this->oDatabase->getData( "Select ncPersona FROM atPersonalHorario WHERE ncPersona = $ncPersona AND dIngreso = '$dIngreso'");
				if ( $nqExiste ) 
				{
					// Modifica Horario
						$this->oDatabase->update("atPersonalHorario",
										"n$cTipo", $nHorario,
										"ncMotivo$cTipo", $ncMotivo,
										"n$cTipo" . "Declarada", $nDeclarada,
										"WHERE",
										"ncPersona", $ncPersona, 
										"dIngreso", $dIngreso );
				} else
				{
					// Agrega Horario
						$this->oDatabase->insert("atPersonalHorario",
										"n$cTipo", $nHorario,
										"ncMotivo$cTipo", $ncMotivo,
										"n$cTipo" . "Declarada", $nDeclarada,
										"ncPersona", $ncPersona, 
										"dIngreso", $dIngreso );
				}
				$oForm->reset();
				// Redirecciona la siguiente accion
				$this->oModule->setRedirect( AGREGAR_PLANILLA_DIARIA_DE_HORARIOS, "nHorario=$nHorario&amp;n$cTipo=$nHorario&amp;nTipo=$nTipo&amp;dIngreso=$dIngreso&amp;ncMotivo=&amp;ncPersona=" );
			}
		function delete()
			{
				$ncPersona = getParam( 'ncPersona' );
				$dIngreso = getParam( 'dIngreso' );
				if ( $ncPersona &&  $dIngreso )
				{
					$this->oDatabase->delete( "atPersonalHorario", "dIngreso", "'" . $dIngreso . "'", "ncPersona", $ncPersona );
				}
			}
	}
?>
